package com.rc.evcharger.protocol.ylevcharger.service;

import com.rc.evcharger.model.elec.ElecGun;
import com.rc.evcharger.model.elec.ElecPile;
import com.rc.evcharger.vo.charge.ChargeBalaceRet;
import com.rc.evcharger.vo.charge.ChargeReportRet;
import com.rc.mutievcharger.dto.ylevcharger.terminal.YlTerminalMessage;

/**
 * Create by Yang on 2019/3/16
 * 分析报文数据
 */
public interface YlChargeMessageService {
    /**
     * 登录
     * @param pile
     */
    void login(ElecGun pile, YlTerminalMessage msg);

    /**
     * 登出
     * @param pile
     */
    void loginOut(ElecGun pile);

    /**
     * 心跳
     * @param pile
     */
    void hearBeat(ElecGun pile, YlTerminalMessage msg);

    /**
     * 充电上报的数据
     * @param pile
     */
    ChargeReportRet chargeReport(ElecGun pile, YlTerminalMessage msg);

    /**
     * 开始、停止充电返回码
     * @param pile
     */
    ChargeReportRet start(ElecGun pile, YlTerminalMessage msg);

    /**
     * 开始、停止充电返回码
     * @param pile
     */
    ChargeReportRet stop(ElecGun pile, YlTerminalMessage msg);

    /**
     * 充电结束的数据
     * @param pile
     */
    ChargeBalaceRet chargeBalace(ElecGun pile, YlTerminalMessage msg);
}
